package br.com.comprasPublicas.entity;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import org.hibernate.annotations.NamedNativeQueries;
import org.hibernate.annotations.NamedNativeQuery;

/**
 *
 * @author helsen_rafael
 * @since 11/01/11
 */

@Entity
@NamedNativeQueries({
        @NamedNativeQuery(name="order_by_id_inclusao", query="SELECT * FROM InclusaoPrecosCotacao ORDER BY id_inclusaoPrecosCotacao",resultClass=InclusaoPrecosCotacao.class),
        @NamedNativeQuery(name="select_max_id_inclusao", query="SELECT * FROM inclusaoPrecosCotacao",resultClass=InclusaoPrecosCotacao.class)
})
public class InclusaoPrecosCotacao implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id_inclusaoPrecosCotacao;

    @Column(name="vencedor", length=1)
    private String vencedor;// Quando concluir todas inclusões de preços, deverá ser feito calculo se este é o menor preço para o item. Este campo será responsável para exportaçao desta classe para a classe VENCEDOR

    @OneToOne(targetEntity=Cotacao.class)
    private Cotacao cotacao;
    
    @OneToOne(targetEntity=Pessoa.class)
    private Pessoa pessoa;

    @OneToOne(targetEntity=ItemPedido.class)
    private ItemPedido item_pedido;
    
    @Column(name="valor_unitario")
    private double valor_unitario;

    @Column(name="valor_total")
    private double valor_total;

    @Column(name="marca")
    private String marca;

    @OneToOne(targetEntity=AutorizaCotacao.class)
    private AutorizaCotacao autoriza_cotacao;

    @Cascade(CascadeType.ALL)
    
    //Abaixo os Encapsulamentos dos Campos

    public int getId_inclusaoPrecosCotacao() {
        return id_inclusaoPrecosCotacao;
    }

   
    public void setId_inclusaoPrecosCotacao(int id_inclusaoPrecosCotacao) {
        this.id_inclusaoPrecosCotacao = id_inclusaoPrecosCotacao;
    }

    
    public Pessoa getPessoa() {
        return pessoa;
    }

   
    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

   
    public double getValor_unitario() {
        return valor_unitario;
    }

   
    public void setValor_unitario(double valor_unitario) {
        this.valor_unitario = valor_unitario;
    }

   
    public double getValor_total() {
        return valor_total;
    }

  
    public void setValor_total(double valor_total) {
        this.valor_total = valor_total;
    }

    
    public String getMarca() {
        return marca;
    }

   
    public void setMarca(String marca) {
        this.marca = marca;
    }

   
    public ItemPedido getItem_pedido() {
        return item_pedido;
    }

    
    public void setItem_pedido(ItemPedido item_pedido) {
        this.item_pedido = item_pedido;
    }

    
    public Cotacao getCotacao() {
        return cotacao;
    }

    
    public void setCotacao(Cotacao cotacao) {
        this.cotacao = cotacao;
    }

    
    


    public AutorizaCotacao getAutoriza_cotacao() {
        return autoriza_cotacao;
    }


    public void setAutoriza_cotacao(AutorizaCotacao autoriza_cotacao) {
        this.autoriza_cotacao = autoriza_cotacao;
    }

    public String getVencedor() {
        return vencedor;
    }

    public void setVencedor(String vencedor) {
        this.vencedor = vencedor;
    }


}
